﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace HelpDesk
{
    public partial class AdminAreas : System.Web.UI.Page
    {
        QueryBuilder querys = new QueryBuilder();
        protected void Page_Load(object sender, EventArgs e)
        {
            string parametro = Request.QueryString["op"];
            DataTable datos = new DataTable();
            switch (parametro)
            {
                case ("crear"):
                    Label1.Visible = true;
                    Label1.Text = "Ingrese el nombre del área: ";
                    DropDownList1.Visible = false;
                    btOK.Visible = false;
                    TextBox2.Visible = false;
                    Label2.Visible = false;
                    TextBox1.Visible = true;
                    btAceptar.Visible = true;
                    btCancelar.Visible = true;
                    Label6.Text = "Crear Area";
                    break;
                case ("modificar"):
                    Label1.Visible = true;
                    Label1.Text = "Escoja el área a modificar: ";
                    TextBox1.Visible = false;
                    btOK.Visible = true;
                    DropDownList1.Visible = true;
                    TextBox2.Enabled = true;
                    Label6.Text = "Modificar Area";
                    if (DropDownList1.Items.Count == 0)
                    {
                        datos = querys.EjecutarQuery("select descripcion from area_trabajo order by id_area");
                        for (int i = 0; i < datos.Rows.Count; i++)
                        {
                            DropDownList1.Items.Add(datos.Rows[i].ItemArray[0].ToString());
                        }
                    }
                    break;
                case ("eliminar"):
                    Label1.Visible = true;
                    Label1.Text = "Escoja el área a eliminar: ";
                    TextBox1.Visible = false;
                    btOK.Visible = true;
                    TextBox2.Visible = false;
                    TextBox2.Enabled = false;
                    DropDownList1.Visible = true;
                    Label6.Text = "Eliminar Area";
                    if (DropDownList1.Items.Count == 0)
                    {
                        datos = querys.EjecutarQuery("select descripcion from area_trabajo order by id_area");
                        for (int i = 0; i < datos.Rows.Count; i++)
                        {
                            DropDownList1.Items.Add(datos.Rows[i].ItemArray[0].ToString());
                        }
                    }
                    break;
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            string parametro = Request.QueryString["op"];
            switch (parametro)
            {
                case ("modificar"):
                    TextBox2.Visible = true;
                    Label2.Visible = true;
                    Label2.Text = "Modifiqué el área: ";
                    TextBox2.Text = DropDownList1.SelectedItem.Text;
                    TextBox2.Enabled = true;
                    btAceptar.Visible = true;
                    btCancelar.Visible = true;
                    btOK.Visible = false;
                    break;

                case ("eliminar"):
                    TextBox2.Visible = true;
                    Label2.Visible = true;
                    Label2.Text = "Área a eliminar: ";
                    TextBox2.Text = DropDownList1.SelectedItem.Text;
                    TextBox2.Enabled = false;
                    btAceptar.Visible = true;
                    btCancelar.Visible = true;
                    btOK.Visible = false;
                    break;
            }
        }

        protected void Button3_Click(object sender, EventArgs e)
        {
            string parametro = Request.QueryString["op"];
            DataTable datos = new DataTable();
            switch (parametro)
            {
                case("crear"):
                    DropDownList1.Items.Clear();
                    string valor = "";
                    datos = querys.EjecutarQuery("select max(id_area) from area_trabajo");
                    valor = datos.Rows[0].ItemArray[0].ToString();
                    datos.Clear();
                    datos = querys.EjecutarQuery("select * from area_trabajo where descripcion='" + TextBox1.Text+"'");
                    if (datos.Rows.Count > 0)
                    {
                        lbError.Text = "Ya existe el área, por favor ingrese una diferente";
                        TextBox1.Text = "";
                        datos.Clear();
                    }
                    else
                    { 
                        querys.EjecutarNoQuery("insert into area_trabajo (id_area, descripcion) values ("+Convert.ToString(Convert.ToInt32(valor)+1)+",'"+TextBox1.Text+"')");
                        lbError.Text = "Área creada exitosamente";
                        TextBox1.Text = "";
                    }
                    break;
                case ("modificar"):
                    Label2.Visible = false;
                    TextBox2.Visible = false;
                    datos = querys.EjecutarQuery("select * from area_trabajo where descripcion='" + TextBox2.Text+"'");
                    if (datos.Rows.Count > 0)
                    {
                        btAceptar.Visible = false;
                        btCancelar.Visible = false;
                        lbError.Text = "El texto ingresado es el mismo que desea modificar";
                        TextBox2.Text = "";
                        datos.Clear();
                    }
                    else
                    {
                        querys.EjecutarNoQuery("update area_trabajo set descripcion='" + TextBox2.Text + "' where descripcion='" + DropDownList1.SelectedItem.Text + "'");
                        lbError.Text = "El área se ha modificado exitosamente";
                        btAceptar.Visible = false;
                        btCancelar.Visible = false;
                        DropDownList1.Items.Clear();
                        btOK.Visible = true;
                        if (DropDownList1.Items.Count == 0)
                        {
                            datos = querys.EjecutarQuery("select descripcion from area_trabajo order by id_area");
                            for (int i = 0; i < datos.Rows.Count; i++)
                            {
                                DropDownList1.Items.Add(datos.Rows[i].ItemArray[0].ToString());
                            }
                        }
                    }
                    break;
                case ("eliminar"):
                    Label2.Visible = false;
                    TextBox2.Visible = false;
                    querys.EjecutarNoQuery("delete area_trabajo where descripcion='" + DropDownList1.SelectedItem.Text + "'");
                    lbError.Text = "El área se ha eliminado exitosamente";
                    btAceptar.Visible = false;
                    btCancelar.Visible = false;
                    btOK.Visible = true;
                    DropDownList1.Items.Clear();
                    if (DropDownList1.Items.Count == 0)
                    {
                        datos = querys.EjecutarQuery("select descripcion from area_trabajo order by id_area");
                        for (int i = 0; i < datos.Rows.Count; i++)
                        {
                            DropDownList1.Items.Add(datos.Rows[i].ItemArray[0].ToString());
                        }
                    }
                    break;
            }
        }

        protected void btCancelar_Click(object sender, EventArgs e)
        {
            string parametro = Request.QueryString["op"];

            switch (parametro)
            {
                case ("crear"):
                    TextBox1.Text = "";
                    break;

                case("modificar"):
                    TextBox2.Text = "";
                    Label2.Visible = false;
                    TextBox2.Visible = false;
                    btOK.Visible = true;
                    btAceptar.Visible = false;
                    btCancelar.Visible = false;
                    break;

                case("eliminar"):
                    Label2.Visible = false;
                    TextBox2.Visible = false;
                    btOK.Visible = true;
                    btAceptar.Visible = false;
                    btCancelar.Visible = false;
                    break;
            }
        }
    }
}
